--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Node / ReticulumProjects / MeshChatX.git / files / meshchatx / src / frontend / components / tools / ManagementIdentityPicker.vue
Displaying Raw • Download
meshchatx/src/frontend/components/tools/ManagementIdentityPicker.vue b27028a7fbdb9530f658ad1661824944e16e70bf (b27028a7) Text, 4.94 KB
T8b949e<!-- SPDX-License-Identifier: 0BSD -->
Tb4b4b4<Tff7b72templateTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-2"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-wrap items-end gap-2"Tb4b4b4>
Tb4b4b4<Tff7b72label Te6edf3classTff7b72=Ta5d6ff"block min-w-0 flex-1 space-y-1"Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-xs font-medium text-gray-700 dark:text-zinc-300"Tb4b4b4>Tff7b72{{
Te6edf3$tTb4b4b4(Ta5d6ff"remote_mgmt.management_identity"Tb4b4b4)
Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72select
Tb4b4b4:Te6edf3valueTff7b72=Ta5d6ff"Te6edf3modelValueTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"input-field w-full font-mono text-xs"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3disabled Tff7b72|| Te6edf3loadingTa5d6ff"
Tb4b4b4@Te6edf3changeTff7b72=Ta5d6ff"Te6edf3onSelectTb4b4b4(Te6edf3$eventTb4b4b4.Te6edf3targetTb4b4b4.Te6edf3valueTb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72option Te6edf3valueTff7b72=Ta5d6ff""Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"remote_mgmt.select_identity"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72optionTb4b4b4>
Tb4b4b4<Tff7b72option Te6edf3v-forTff7b72=Ta5d6ff"Te6edf3item Tff7b72in Te6edf3identitiesTa5d6ff" Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3itemTb4b4b4.Te6edf3pathTa5d6ff" Tb4b4b4:Te6edf3valueTff7b72=Ta5d6ff"Te6edf3itemTb4b4b4.Te6edf3pathTa5d6ff"Tb4b4b4>
Tff7b72{{ Te6edf3itemTb4b4b4.Te6edf3name Tff7b72}} (Tff7b72{{ Te6edf3shortHashTb4b4b4(Te6edf3itemTb4b4b4.Te6edf3hashTb4b4b4) Tff7b72}})
Tb4b4b4<Tb4b4b4/Tff7b72optionTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72selectTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72labelTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"secondary-chip px-3 py-2 text-xs"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3disabled Tff7b72|| Te6edf3loadingTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3loadIdentitiesTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"refresh" Te6edf3classTff7b72=Ta5d6ff"size-4" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"secondary-chip px-3 py-2 text-xs"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3disabled Tff7b72|| Te6edf3creatingTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3createIdentityTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"plus" Te6edf3classTff7b72=Ta5d6ff"size-4" Tb4b4b4/Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"remote_mgmt.create_identity"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3selectedHashTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"font-mono text-[10px] text-gray-500 dark:text-zinc-500 break-all"Tb4b4b4>
Tff7b72{{ Te6edf3selectedHash Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72templateTb4b4b4>
Tb4b4b4<Tff7b72scriptTb4b4b4>
Tff7b72import Te6edf3MaterialDesignIcon Tff7b72from Ta5d6ff"../MaterialDesignIcon.vue"Tb4b4b4;
Tff7b72import Te6edf3ToastUtils Tff7b72from Ta5d6ff"../../js/ToastUtils"Tb4b4b4;
Tff7b72export Tff7b72default Tb4b4b4{
Te6edf3nameTff7b72: Ta5d6ff"ManagementIdentityPicker"Tb4b4b4,
Te6edf3componentsTff7b72: Tb4b4b4{ Te6edf3MaterialDesignIcon Tb4b4b4}Tb4b4b4,
Te6edf3propsTff7b72: Tb4b4b4{
Te6edf3modelValueTff7b72: Tb4b4b4{ Te6edf3typeTff7b72: Tffa657StringTb4b4b4, Tff7b72defaultTff7b72: Ta5d6ff"" Tb4b4b4}Tb4b4b4,
Te6edf3disabledTff7b72: Tb4b4b4{ Te6edf3typeTff7b72: Tffa657BooleanTb4b4b4, Tff7b72defaultTff7b72: Tff7b72false Tb4b4b4}Tb4b4b4,
Te6edf3defaultNameTff7b72: Tb4b4b4{ Te6edf3typeTff7b72: Tffa657StringTb4b4b4, Tff7b72defaultTff7b72: Ta5d6ff"mgmt" Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3emitsTff7b72: Tb4b4b4[Ta5d6ff"update:modelValue"Tb4b4b4, Ta5d6ff"update:identityHash"Tb4b4b4, Ta5d6ff"loaded"Tb4b4b4]Tb4b4b4,
Te6edf3dataTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4{
Te6edf3identitiesTff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4,
Te6edf3loadingTff7b72: Tff7b72falseTb4b4b4,
Te6edf3creatingTff7b72: Tff7b72falseTb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3computedTff7b72: Tb4b4b4{
Te6edf3selectedHashTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3match Tff7b72= Tff7b72thisTb4b4b4.Te6edf3identitiesTb4b4b4.Te6edf3findTb4b4b4(Tb4b4b4(Te6edf3itemTb4b4b4) Tb4b4b4=> Te6edf3itemTb4b4b4.Te6edf3path Tff7b72=== Tff7b72thisTb4b4b4.Te6edf3modelValueTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3matchTff7b72?Tb4b4b4.Te6edf3hash Tff7b72|| Ta5d6ff""Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3watchTff7b72: Tb4b4b4{
Te6edf3selectedHashTb4b4b4(Te6edf3valueTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3$emitTb4b4b4(Ta5d6ff"update:identityHash"Tb4b4b4, Te6edf3value Tff7b72|| Ta5d6ff""Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3mountedTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3loadIdentitiesTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3methodsTff7b72: Tb4b4b4{
Te6edf3shortHashTb4b4b4(Te6edf3hashTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3hash Tff7b72|| Te6edf3hashTb4b4b4.Te6edf3length Tff7b72< T79c0ff10Tb4b4b4) Tff7b72return Te6edf3hash Tff7b72|| Ta5d6ff""Tb4b4b4;
Tff7b72return Ta5d6ff`Tffd700${Te6edf3hashTb4b4b4.Te6edf3sliceTb4b4b4(T79c0ff0Tb4b4b4, T79c0ff8Tb4b4b4)Tffd700}Ta5d6ff…Ta5d6ff`Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3onSelectTb4b4b4(Te6edf3valueTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3$emitTb4b4b4(Ta5d6ff"update:modelValue"Tb4b4b4, Te6edf3value Tff7b72|| Ta5d6ff""Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3loadIdentitiesTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3loading Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3getTb4b4b4(Ta5d6ff"/api/v1/reticulum/management-identities"Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3identities Tff7b72= Tffa657ArrayTb4b4b4.Te6edf3isArrayTb4b4b4(Te6edf3responseTb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3identitiesTb4b4b4) Tff7b72? Te6edf3responseTb4b4b4.Te6edf3dataTb4b4b4.Te6edf3identities Tff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3$emitTb4b4b4(Ta5d6ff"loaded"Tb4b4b4, Tff7b72thisTb4b4b4.Te6edf3identitiesTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3modelValue Tff7b72&& Tff7b72!Tff7b72thisTb4b4b4.Te6edf3identitiesTb4b4b4.Te6edf3someTb4b4b4(Tb4b4b4(Te6edf3itemTb4b4b4) Tb4b4b4=> Te6edf3itemTb4b4b4.Te6edf3path Tff7b72=== Tff7b72thisTb4b4b4.Te6edf3modelValueTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3$emitTb4b4b4(Ta5d6ff"update:modelValue"Tb4b4b4, Ta5d6ff""Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3errorTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3errorTff7b72?Tb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3message Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"remote_mgmt.failed_load_identities"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3loading Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3createIdentityTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3suggested Tff7b72= Tff7b72thisTb4b4b4.Te6edf3defaultName Tff7b72|| Ta5d6ff"mgmt"Tb4b4b4;
Tff7b72const Te6edf3name Tff7b72=
Tff7b72typeof Tffa657window Tff7b72!== Ta5d6ff"undefined" Tff7b72&& Tffa657windowTb4b4b4.Te6edf3prompt
Tff7b72? Tffa657windowTb4b4b4.Te6edf3promptTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"remote_mgmt.create_identity_prompt"Tb4b4b4)Tb4b4b4, Te6edf3suggestedTb4b4b4)
Tff7b72: Te6edf3suggestedTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3name Tff7b72|| Tff7b72!Tffa657StringTb4b4b4(Te6edf3nameTb4b4b4)Tb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3creating Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"/api/v1/reticulum/management-identities"Tb4b4b4, Tb4b4b4{
Te6edf3nameTff7b72: Tffa657StringTb4b4b4(Te6edf3nameTb4b4b4)Tb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3identity Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3identityTb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3loadIdentitiesTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3identityTff7b72?Tb4b4b4.Te6edf3pathTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3$emitTb4b4b4(Ta5d6ff"update:modelValue"Tb4b4b4, Te6edf3identityTb4b4b4.Te6edf3pathTb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"remote_mgmt.identity_created"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3errorTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3errorTff7b72?Tb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3message Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"remote_mgmt.failed_create_identity"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3creating Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────